This invention relates to a dynamically variable binary code which is readable by a machine, and in particular, to a binary code having high data integrity.
Optically readable codes are known in the art. One such code is formed as a "checker board" symbol that represents a pattern in the form of black and white squares. Each square contained within the checker board matrix is of equal size to every other square. Furthermore, the number and size of the squares contained within the matrix is predetermined. Accordingly, the computer receiving or producing the pattern expects a specific number of squares contained within the matrix each being of a preset size. This code has not been satisfactory. The code is unable to dynamically expand or contract capacity to meet changing user requirements without the intervention of re-programming the software of the scanning computer. Accordingly, the user of the code must identify the requirements prior to implantation of the software system. Additionally, since each square must be of the exact same size and the number of squares is predetermined, the scanning computer must be preset for the expected matrix size thereby limiting the user to a single sized checker board code for each scanner. This necessitates a plurality of code scanners and a system for separating each different sized, different density code and forwarding it to the appropriate scanner.
Codes which overcome these shortcomings by providing indicia associated with the code for informing the computer as to the size of the code are known in the art. One example of such a code is found in U.S. Pat. No. 3,763,467 which discloses the optical reading of data set up in box fashion upon a card. The card is marked at its periphery with two field defining marks located at the front and trailing edges of the box indicating the size of the field containing binary coded decimal data stored within the box. The first row of data within the box, forming the perimeter edge, contains format information identifying which of the columns within the box is to be read. This code has also been less than satisfactory in that it suffers from density and size problems. Even though the size of the field is variable, the actual size of the characters within the field is not. Accordingly, a smaller field size results in smaller amounts of stored information. Furthermore, the size indicia being read must be in a particular location in order to be received and understood by the scanning equipment.
Additionally, each of these codes suffer from the disadvantage that if a portion of the code is obliterated, changed or covered, then the data is destroyed making it difficult if not impossible to read the code. One solution to this data integrity problem is found in related U.S. Pat. No. 4,939,354 to Dennis Priddy and Robert Cymbalski, of which the present application is a Continuation-In-Part, in which character redundancy is provided in which the character representation of data is expanded to decrease the probability that obliteration of a part of the code obliterates the entire data message. The result is higher code integrity. However, by expanding the number of bits in which the character is encoded, a large bit overhead is required so that much of the code physical area is utilized for this data integrity, rather than additional information.
Accordingly, it is desired to provide a dynamically variable machine optically readable binary code and method for reading and producing thereof which overcomes the shortcomings.